#ifndef _WORLD_EVENTS_H
#define _WORLD_EVENTS_H

///////////////////////////////////////////////////////////////////////////
//																		 //
//	Author:		Michael Mozdzierz										 //
//	Date:		11/01/2014												 //
//	Purpose:	Define events that are revelent to all objects in the	 //
//				game world.												 //
//																		 //
///////////////////////////////////////////////////////////////////////////

#include "..\Delegate.h"

typedef void(*world_event_handler)(void**);

namespace WorldEvents
{
	// event raised when a new object has been added to the game world
	extern Delegate<world_event_handler>* ObjectCreated;
	// event raised when a new object has been removed from the game world
	extern Delegate<world_event_handler>* ObjectDestroyed;

	// event raised when a temple is clicked on by a player
	extern Delegate<world_event_handler>* TempleClicked;

	void Init(void);
	void Shutdown(void);
}

#endif